#pragma once
#include <allegro.h>


/**
 * Klasa zajmujaca sie obsluga grafiki.
 * Ta klasa jest singletonem.
 */
class Graphics
{
public:
    
	BITMAP * menu;
	BITMAP * start;
	BITMAP * opcje;
	BITMAP * koniec;
	BITMAP * cegla_ciemna;
	BITMAP * cegla;
	BITMAP * bufor;
	BITMAP * serce;
	BITMAP * maska;
	BITMAP * maska_cegla;
	BITMAP * postac_l[4];
	BITMAP * postac_r[4];
	int width;
	int height;
    /**
     * Zwraca instancje singletona.
     */
    static Graphics* GetInstance();

    /**
     * Inicjalizuje system grafiki.
     */
    void Initialize(int width, int height,int depth);

    /**
     * Zamyka system grafiki.
     */
    void Shutdown();


private:

    /**
     * Konstruktor domyslny.
     * Pusty na potrzeby singletona.
     */
    Graphics() { }

    /**
     * Konstruktor kopiujacy.
     * Niezaimplementowany na potrzeby singletona.
     */
    Graphics(const Graphics &);

    /**
     * Operator przypisania.
     * Niezaimplementowany na potrzeby singletona.
     */
    void operator=(const Graphics &);

};
